/**
 * @description 多线程共享资源并发问题   数据不同步问题
 * 
 * 故事--实验室进行数据的更新与分析
 * 助理不断测量并更新数据，分析人员 同时 对数据进行处理
 * 助理更新的数据会缓存在m_temperature,
 * 分析将助理的数据保存在自己缓存中，延时小段时间，判断自己缓存和助理缓存是否相同，
 * 不同，则并发问题出现。
 * 
 * 程序说明：
 * 提供更新数据的构造方法和分析数据的成员方法
 * @pageNo 404
 * @author mlmoria
 * @date 2017年2月6日
 * 
 */
package No11Thread.Experiment;

public class J_Experiment {

	private int m_temperature,m_pressure;
	
	//助理更新数据
	public void mb_update(int t,int p){
		m_temperature=t;
		m_pressure=p;
		
	}
	
	//分析缓存并分析数据
	public void mb_analyze(){
		int t=m_temperature;	
		int p=m_pressure;
		System.out.println("sdf"+t);
		//仅作为延时使用，使得并发问题更容易出现。
		for(int i=0;i<1000;i++);
		System.out.println("t"+t);
		if(t!=m_temperature){
			System.out.println("实验数据出现情况：");
			System.out.println("t("+t+")!=("+m_temperature+")");
			System.exit(0);
		}
		if(p!=m_pressure){
			System.out.println("实验数据出现情况：");
			System.out.println("p("+p+")!=("+m_pressure+")");
	        System.exit(0);
		}
	}
	
}
